// #include<iostream>
// using namespace std;
// int main()
// {
//     string s1;
//     string s2;
//     while(cin>>s1>>s2){
//         int hash[26]={0};
//         for (int i=0;i<s1.size();i++)
//         {
//             hash[s1[i]-'A']++;
//         }
//         int flag=1;
//         for (int i = 0; i < s2.size(); i++)
//         {
//             hash[s2[i]-'A']--;
//             if (hash[s2[i]-'A']<0)
//             {
//                 cout<<"No"<<endl;
//                 flag=0;
//                 break;
//             }
//         }
//         if (flag==1)
//         {
//             cout<<"Yes"<<endl;
//             /* code */
//         }
//     }
//     return 0;
// }

// using namespace std;
// #include<iostream>
// #include <vector>
// #include <algorithm>
// int main()
// {
//     int n=0;
//     cin>>n;
//     vector<int> v;
//     v.resize(3*n);
//     for (int i = 0; i < 3*n; i++)
//     {
//         /* code */
//         cin>>v[i];
//     }
//     long sum=0;
//     sort(v.begin(),v.end());
//     for (int i = 0; i < n; i++)
//     {
//         /* code */
//         sum += v[v.size() - (2 * (i + 1))];
//     }
//     cout<<sum<<endl;
//     return 0;
// }

// #include <iostream>

// using namespace std;

// const int N = 1e4 + 10;

// int sum[N]; // sum[i]   ? i    ?  ? 

// int n;

// int f[N], g[N];

// int main() {
//     cin >> n;
//     int x;
//     for (int i = 0; i < n; i++) {
//         cin >> x;
//         sum[x] += x;
//     }
//     for (int i = 1; i < N; i++) {
//         f[i] = g[i - 1] + sum[i];
//         g[i] = max(f[i - 1], g[i - 1]);
//     }
//     cout << max(f[N - 1], g[N - 1]) << endl;
//     return 0;
// }
